# generator expression
expression = (i ** 2 for i in range(10))
print(expression)  # <generator object <genexpr> at 0x1008c3c80> 就是一个生成器
print(next(expression))  # 0
print(next(expression))  # 1
print(next(expression))  # 4
print("=" * 100)
for i in expression:
    print(i)
# 9
# 16
# 25
# 36
# 49
# 64
# 81

# 生成器表达式跟列表推导式的区别：
# 前者生成一个生成器一次调用生成一个数据（跟母鸡下蛋一次一个）
# 猴子直接生成所有的数据，并且返回一个列表

